// 在http.js中引入axios
import axios from 'axios'; // 引入axios
import { Toast } from "vant";
console.log('加载axios')
// 环境的切换
//开发环境：
// axios.defaults.baseURL = 'http://shopservice.cn.utools.club'; //接口api请求地址
// const host ='http://shopservice.cn.utools.club' //文件页面链接路径

// 线上环境：
axios.defaults.baseURL = 'http://service.shenyuwenhuachuanbo.com:31097'; //接口api请求地址
const host ='http://service.shenyuwenhuachuanbo.com' //文件页面链接路径


//设置请求超时
axios.defaults.timeout = 10000;

//设置请求头  
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';




// const host ='http://zhangyang996.nat300.top'
const sessionUserInfo = JSON.parse(localStorage.getItem("loginInfo"))
console.log('sessionUserInfo',sessionUserInfo)
const token = sessionUserInfo?sessionUserInfo.token:'' 
const userId = sessionUserInfo?sessionUserInfo.userId:''   
axios.defaults.headers.token = token
axios.defaults.headers.userId = userId
// 请求拦截器
axios.interceptors.request.use(
	config => {
		// 每次发送请求之前判断vuex中是否存在token        
		// 如果存在，则统一在http请求的header都加上token，这样后台根据token判断你的登录情况
		// 即使本地存在token，也有可能token是过期的，所以在响应拦截器中要对返回状态进行判断 
		// token && (config.headers.Authorization = token);
		return config;
	},
	error => {
		return Promise.error(error);
	})

// 响应拦截器
var that = this
axios.interceptors.response.use(
	response => {
		// console.log('response563', response)
		// 如果返回的状态码为200，说明接口请求成功，可以正常拿到数据     
		// 否则的话抛出错误resCode
		if (response.data.code === 200) {
			return Promise.resolve(response);
		}else if(response.data.code ===10005){
			return
			//未注册登录跳转登录页面：
			window.location.href = `${host}/#/pages/login`;
		}else if (response.data.code == 20018) { //租金低于最低要求 过期需续租
			Toast.fail('租金不足请续租');
			// sessionStorage.setItem("loginInfo", JSON.stringify(res.data.data));
			// window.location.href = 'http://zhangyang996.nat300.top/#/pages/bRelet';
			window.location.href = `${host}/#/pages/bRelet`;
			return 
		} else if (response.data.code == 20010) {   //押金低于最低要求
			Toast.fail('押金不足请缴纳押金');
			// sessionStorage.setItem("loginInfo", JSON.stringify(res.data.data));
			window.location.href = `${host}/#/pages/bCashPledgeGive`;
			return 
		}else {
			Toast.fail(response.data.msg);
			return Promise.reject(response);
		}
	},
	error => {
		return Promise.reject(error);
	});

/**
 * get方法，对应get请求
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function get(url, params) {
	return new Promise((resolve, reject) => {
		axios.get(url, {
			params: params
		}).then(res => {
			resolve(res.data);
		}).catch(err => {
			reject(err.data)
		})
	});
}

/** 
 * post方法，对应post请求 
 * @param {String} url [请求的url地址] 
 * @param {Object} params [请求时携带的参数] 
 * QS.stringify(params)
 */
export function post(url, params) {
	return new Promise((resolve, reject) => {
		axios.post(url, params)
			.then(res => {
				resolve(res.data);
			})
			.catch(err => {
				reject(err.data)
			})
	});
}
